package com.hellobike.haxing.modules.wms.dto;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

@Data
public class StockBatchLocDto implements Serializable {
    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    private java.lang.Long id;
    /**
     * skuId
     */
    @Excel(name = "skuId", width = 15)
    private java.lang.Long skuId;
    /**
     * batchId
     */
    @Excel(name = "batchId", width = 15)
    private java.lang.Long batchId;
    /**
     * locId
     */
    @Excel(name = "locId", width = 15)
    private java.lang.Long locId;
    /**
     * availableQty
     */
    @Excel(name = "availableQty", width = 15)
    private java.math.BigDecimal availableQty;
    /**
     * holdQty
     */
    @Excel(name = "holdQty", width = 15)
    private java.math.BigDecimal holdQty;
    /**
     * warehouseId
     */
    @Excel(name = "warehouseId", width = 15)
    private java.lang.Long warehouseId;
    /**
     * createTime
     */
    @Excel(name = "createTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date createTime;
    /**
     * updateTime
     */
    @Excel(name = "updateTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date updateTime;
    /**
     * createBy
     */
    @Excel(name = "createBy", width = 15)
    private java.lang.Integer createBy;
    /**
     * updateBy
     */
    @Excel(name = "updateBy", width = 15)
    private java.lang.Integer updateBy;
    /**
     * deleted
     */
    @Excel(name = "deleted", width = 15)
    @TableLogic
    private java.lang.Integer deleted;
    //sp.spu_name,sp.store_type,sk.sku_code,sk.barcode,l.loc_code

    private String spuName;
    private Integer storeType;
    private String skuCode;
    private String barcode;
    private String locCode;

    private String batchNo;
    private String productionDate;
    private JSONObject dimensionValues;


    @TableField(exist = false)
    private String expiryDate;

    private String specifications;


}
